package com.example.demo11.service;

import java.sql.*;

public class SQLTest {
    // MySQL 5.x 连接配置
    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/springbootdata?useSSL=false";
    private static final String USERNAME = "root";     // 替换为你的用户名
    private static final String PASSWORD = "123456";  // 替换为你的密码

    public static void main(String[] args) {
        Connection connection = null;
        try {
            // 1. 加载 MySQL 5.x 驱动类
            Class.forName("com.mysql.jdbc.Driver");  // 注意驱动类名与 MySQL 8 不同

            // 2. 建立连接
            connection = DriverManager.getConnection(JDBC_URL, USERNAME, PASSWORD);

            // 3. 验证连接
            if (connection != null && !connection.isClosed()) {
                System.out.println(" 数据库连接成功！");

                // 可选：验证表是否存在
                try (Statement statement = connection.createStatement();
                     ResultSet resultSet = ((Statement) statement).executeQuery("SHOW TABLES LIKE 'user'")) {
                    if (((ResultSet) resultSet).next()) {
                        System.out.println(" 检测到 user 表存在");
                    } else {
                        System.out.println(" user 表不存在！");
                    }
                }
            }
        } catch (ClassNotFoundException e) {
            System.err.println(" 找不到驱动类！请检查是否添加了 MySQL 5.x 的 JDBC 驱动");
            e.printStackTrace();
        } catch (SQLException e) {
            System.err.println(" 连接失败，请检查以下配置：");
            System.err.println(" URL: " + JDBC_URL);
            System.err.println(" 用户名/密码是否正确");
            System.err.println(" MySQL 服务是否已启动（cmd 输入 `net start mysql` 检查）");
            e.printStackTrace();
        } finally {
            try {
                if (connection != null && !connection.isClosed()) {
                    connection.close();
                    System.out.println(" 连接已关闭");
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}